package cn.oppexecise;
import java.io.File;
import java.io.IOException;
import java.util.Arrays;

/**
 * @author SWJ
 * @create 2021-06-16 16:44
 *测试文件夹类File
 */
public class TestFile {
    public static void main(String[] args) throws IOException {
/**需要手动创建D:\read\1.txt
 * \是转义字符 所以路径是用2个\\*/
        File file = new File("D:\\read\\1.txt");

        //测试文件和文件夹的基本属性
        //测试File的常用方法
        System.out.println(file.length());
        //判断文件中的字节大小
        System.out.println(file.exists());
        //true,判断指定文件是否存在
        System.out.println(file.isFile());
        //true,判断指定内容是否为文件
        System.out.println(file.isDirectory());
        //false,判断指定内容是否为文件夹
        System.out.println(file.getName());
        //1.txt获取当前file的名字
        System.out.println(file.getParent());
        //D:\read获取当前文件的父类目录
        System.out.println(file.getAbsoluteFile());
        //D:\read\1.txt获取当前file的绝对路径

        //测试文件的创建与删除 指定一个路径在此路径下创建一个文件
        //这个路径是不存在的路径
        file=new File("D:\\read\\2.txt");
        //本方法是真正帮助你在系统中创建一个真实存在的文件
        System.out.println(file.createNewFile());
        //返回ture 创建文件，调用file.createNewFile()

        file=new File("D:\\NewTest\\b\\c");
        System.out.println(file.mkdirs());
        //返回ture 创建文件夹，调用file.mkdirs()

        System.out.println(file.delete());
        //只能删除空文件夹

        file=new File("D:\\read\\2.txt");
        System.out.println(file.delete());
        //只能删除文件

        file=new File("D:\\read\\2.txt");
        file=new File("D:\\read\\a");
        System.out.println(file.delete());
        //false，因为a里有内容

        //文件列表测试
        file=new File("E:\\read");
        String []list=file.list();
        System.out.println(Arrays.toString(list));

        File[] fs=file.listFiles();
        System.out.println(Arrays.toString(fs));
        System.out.println(fs[0].length());
    }
}
